config_changed_cb (MirConnection *connection, void *data)
{
GdkMirScreen *screen = data;
- gint old_width, old_height, new_width, new_height;
- get_screen_size (screen->display_config, &old_width, &old_height);
update_display_config (screen);
- get_screen_size (screen->display_config, &new_width, &new_height);
g_signal_emit_by_name (screen, "monitors-changed");
- if (old_width > 0 && (old_width != new_width || old_height != new_height))
- g_signal_emit_by_name (screen, "size-changed");
}
GdkScreen *
G_DEFINE_TYPE (GdkWin32Screen, gdk_win32_screen, GDK_TYPE_SCREEN)
-static gboolean
+static void
init_root_window_size (GdkWin32Screen *screen)
{
GdkRectangle result;
GdkDisplay *display = _gdk_display;
int monitor_count;
GdkMonitor *monitor;
- gboolean changed;
GdkWindowImplWin32 *root_impl;
monitor_count = gdk_display_get_n_monitors (display);
gdk_rectangle_union (&result, &rect, &result);
}
- changed = screen->root_window->width != result.width ||
- screen->root_window->height != result.height;
screen->root_window->width = result.width;
screen->root_window->height = result.height;
root_impl = GDK_WINDOW_IMPL_WIN32 (screen->root_window->impl);
root_impl->unscaled_width = result.width * root_impl->window_scale;
root_impl->unscaled_height = result.height * root_impl->window_scale;
-
- return changed;
}
-static gboolean
+static void
init_root_window (GdkWin32Screen *screen_win32)
{
GdkScreen *screen;
GdkWindow *window;
GdkWindowImplWin32 *impl_win32;
- gboolean changed;
GdkWin32Display *win32_display;
screen = GDK_SCREEN (screen_win32);
screen_win32->root_window = window;
- changed = init_root_window_size (screen_win32);
+ init_root_window_size (screen_win32);
window->x = 0;
window->y = 0;
gdk_win32_handle_table_insert ((HANDLE *) &impl_win32->handle, window);
GDK_NOTE (MISC, g_print ("screen->root_window=%p\n", window));
-
- return changed;
}
static void
monitors_changed = _gdk_win32_display_init_monitors (GDK_WIN32_DISPLAY (_gdk_display));
- if (init_root_window_size (screen))
- g_signal_emit_by_name (screen, "size-changed");
+ init_root_window_size (screen);
if (monitors_changed)
g_signal_emit_by_name (screen, "monitors-changed");